1. Technical Field
The present invention relates generally to computing devices and in particular to application servers. Still more particularly, the present invention relates to run-time start up processes for application servers.
2. Description of the Related Art
Application servers are software applications in an intranet/Internet environment that host a variety of language systems used to program database queries and/or perform general business processing. The application server may reside in the same computer as a Web server, i.e. a HyperText Transport Protocol (HTTP) server. In some distributed systems with large Web sites, a single system may be utilized as both an application server and a Web server. An example of this web application server, as such systems are called, is WebSphere Application Server. WebSphere is a registered trademark of International Business Machines (IBM) Corporation.
While Websphere Application Server (WAS) provides enhanced functionality for business and application processes, one notable limitation with conventional designs of WAS is that the start up time for a WAS is excessively long. This lengthy start up time is experienced because the application server is designed to always start a pre-set, substantially large number of components/services, regardless of whether or not the components are needed.
Conventional web application servers, e.g., WebSphere, are shipped with all of their respective large number of functions enabled. Thus, a customer who is running multiple J2EE applications on the same machine is provided a cluster of application servers that are installed in a generic manner to automatically initiate al of their components during start up. The vast number of components is, however, usually far beyond what a customer really needs for the particular application. Also, installation of this vast number of components results in a large memory footprint size and long startup times in a failover scenario. Customers, however, typically desire/need a faster startup process in production, test and development environments in order to save time and money.
Thus, several solutions have been proposed to reduce this long start up time for application servers. Among these proposed solutions are: (1) delaying startup of application server components or changing lines of code to be more efficient; and (2) enabling a user to disable some services manually if the user knows the services are not needed. With the former solution, services that are delayed take time starting later and even if code segments are more efficient, these delayed services still may take a relatively long time to start. None of these solutions completely address the needs of customers with different requirements for components within the WAS environment, which may support multiple different types of applications, each with a different startup requirement. A solution that may be universally applied and which does not suffer from the limitations of present proposed solutions would thus be a welcomed improvement.